// AnsiTerminal.h : main header file for the ANSITERMINAL application
//

#if !defined(AFX_ANSITERMINAL_H__753ECF1B_4465_420D_914F_97A5F2ADC11A__INCLUDED_)
#define AFX_ANSITERMINAL_H__753ECF1B_4465_420D_914F_97A5F2ADC11A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CAnsiTerminalApp:
// See AnsiTerminal.cpp for the implementation of this class
//

interface IAppIdleListener
{
	virtual void OnAppIdle() = 0;
};

class CAnsiTerminalApp : public CWinApp
{
private:
	CArray<IAppIdleListener*, IAppIdleListener*> m_idleListeners;
	void test();

public:
	CAnsiTerminalApp();
	void RegisterIdleListener(IAppIdleListener *pListener, BOOL bRegister = TRUE);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAnsiTerminalApp)
	public:
	virtual BOOL InitInstance();
	virtual int ExitInstance();
	virtual BOOL OnIdle(LONG lCount);
	//}}AFX_VIRTUAL

// Implementation
	COleTemplateServer m_server;
		// Server object for document creation
	//{{AFX_MSG(CAnsiTerminalApp)
	afx_msg void OnAppAbout();
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

extern CAnsiTerminalApp theApp;

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ANSITERMINAL_H__753ECF1B_4465_420D_914F_97A5F2ADC11A__INCLUDED_)
